package com.hhit.bigscreenbackmanage.service.jsgl;

import com.alibaba.fastjson.JSONObject;
import com.hhit.bigscreenbackmanage.common.PageUtil;
import com.hhit.bigscreenbackmanage.entity.jsgl.*;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

public interface JsglService {

    /**
     * 获取变电站通用设计应用率统计
     *
     * @param map
     * @return list
     */
    TysjBdzEntity getbdztysjNum(@RequestParam Map map);

    /**
     * 获取变电站通用设计应用率
     *
     * @param map
     * @return list
     */
    PageUtil<TysjBdzEntity> getbdztysj(@RequestParam Map map);
    /**
     * 获取线路通用设计
     *
     * @param map
     * @return list
     */
    PageUtil<TysjXlEntity> getTysjXl(Map map);
    /**
     * 获取通用设备应用
     *
     * @param map
     * @return list
     */
    PageUtil<TysjSbyylEntity> getTysbyy(Map map);
    /**
     * 获取新技术应用统计
     *
     * @param map
     * @return list
     */
    XjsyyEntity getXjsyyNum(Map map);
    /**
     * 获取新技术应用中间柱状图统计
     *
     * @param map
     * @return list
     */
    List<String> getXjsyyChartNum(Map map);
    /**
     * 获取新技术应用
     *
     * @param map
     * @return list
     */
    PageUtil<XjsyyEntity> getXjsyy(Map map);
    /**
     * 获取三维成果应用统计
     *
     * @param map
     * @return list
     */
    SwccyyEntity getSwcgyyNum(Map map);
    /**
     * 获取三维成果应用中间柱状图统计
     *
     * @param map
     * @return list
     */
    List<String> getSwcgyyChartNum(Map map);
    /**
     * 获取三维成果应用
     *
     * @param map
     * @return list
     */
    PageUtil<SwccyyEntity> getSwcgyy(Map map);
    /**
     * 获取设计质量问题统计
     *
     * @param map
     * @return list
     */
    SjzlwtEntity getSjzlwtNum(Map map);
    /**
     * 获取设计质量问题
     *
     * @param map
     * @return list
     */
    PageUtil<SjzlwtEntity> getSjzlwt(Map map);
    /**
     * 获取设计变更
     *
     * @param map
     * @return list
     */
    PageUtil<SjbgEntity> getSjbg(Map map);
    /**
     * 获取设计变更统计
     *
     * @param map
     * @return list
     */
    SjbgEntity getSjbgNum(Map map);

    /**
     * 获取质量事件 统计
     * @param map
     * @return
     */
    Integer getSjzlwtsjCount(Map map);

    /**
     * 获取质量事件
     * @param map
     * @return
     */
    PageUtil<SjzlwtEntity> getSjzlwtsj(Map map);

    Map<String, String> queryCgyyCount(JSONObject jsonObject) throws Exception;
}
